package com.cn.serverline.lineicp.productionLine.entity;

import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.Data;
import java.sql.Timestamp;

/**
 * 滚动计划详情
 *
 * @author 郭明然
 * @since 2024-08-22
 */
@TableName("PLAN_ROLLING_DETAILS")
@ApiModel(value = "RollingDetails对象", description = "滚动计划详情")
@Data
@EqualsAndHashCode
@HeadRowHeight(55)
@ColumnWidth(23)
public class RollingDetails implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ApiModelProperty("主键ID")
    @TableId(value = "ID", type = IdType.ASSIGN_ID)
    @JsonSerialize(using= ToStringSerializer.class)
    private Long id;

    /**
     * 滚动计划导入ID
     */
    @ApiModelProperty("滚动计划导入ID")
    @TableField("PLAN_IMPORT_ID")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long planImportId;

    /**
     * 工段ID
     */
    @ApiModelProperty("工段ID")
    @TableField("PLAN_WORK_SECTION_ID")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long planWorkSectionId;

    /**
     * 产品型号
     */
    @ApiModelProperty("产品型号")
    @TableField("PRODUCT_MODEL")
    private String productModel;

    /**
     * 产品型号状态
     */
    @ApiModelProperty("产品型号状态")
    @TableField("PRODUCT_MODEL_STATUS")
    private String productModelStatus;

    /**
     * 来源:集团
     */
    @ApiModelProperty("来源:集团")
    @TableField("SOURCE_GROUP")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long sourceGroup;

    /**
     * 来源:机载
     */
    @ApiModelProperty("来源:机载")
    @TableField("SOURCE_AIRBORNE")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long sourceAirborne;

    /**
     * 来源:航材
     */
    @ApiModelProperty("来源:航材")
    @TableField("SOURCE_AVIATION")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long sourceAviation;

    /**
     * 计划类别
     */
    @ApiModelProperty("计划类别")
    @TableField("PLAN_CATEGORY")
    private String planCategory;

    /**
     * 计划交付数量
     */
    @ApiModelProperty("计划交付数量")
    @TableField("DELIVERY_QUANTITY")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long deliveryQuantity;

    /**
     * 交付日期
     */
    @ApiModelProperty("交付日期")
    @TableField("DELIVERY_DATE")
    private Timestamp deliveryDate;

    /**
     * T1计划交付数量
     */
    @ApiModelProperty("T1计划交付数量")
    @TableField("T_ONE_DELIVERY_QUANTITY")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long tOneDeliveryQuantity;

    /**
     * T1交付日期
     */
    @ApiModelProperty("T1交付日期")
    @TableField("T_ONE_DELIVERY_DATE")
    private Timestamp tOneDeliveryDate;

    /**
     * 乐观锁
     */
    @ApiModelProperty("乐观锁")
    @TableField("VERSION")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long version;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    @TableField("CREATE_USER")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long createUser;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @TableField("CREATE_TIME")
    private Timestamp createTime;

    /**
     * 最后修改人
     */
    @ApiModelProperty("最后修改人")
    @TableField("UPDATE_USER")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long updateUser;

    /**
     * 最后修改时间
     */
    @ApiModelProperty("最后修改时间")
    @TableField("UPDATE_TIME")
    private Timestamp updateTime;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    @TableField("REMARK")
    private String remark;
}
